﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Specialized;

namespace Finance.Core.Provider
{
    public abstract class FinanceProvider
    {
        #region Finance

        public abstract void Insert(FinanceItem item);

        public abstract void Delete(FinanceItem item);

        public abstract void Update(FinanceItem item);

        public abstract List<FinanceItem> GetAllFinance();

        public abstract FinanceItem GetFinanceItem(String id);
        
        public abstract void SaveAllFinance();
        #endregion

        #region Settings
        public abstract string StorageLocation();
        public abstract StringDictionary LoadSettings();
        public abstract void SaveSettings(StringDictionary settings);
        #endregion

        #region Card

        public abstract void Insert(CardItem item);

        public abstract void Delete(CardItem item);

        public abstract void Update(CardItem item);

        public abstract List<CardItem> GetAllCard();

        public abstract CardItem GetCardItem(String id);

        public abstract void SaveAllCard();
        #endregion

    }
}
